"""
需求:
1. 设计一个 Game 类
2. 属性:
• 定义一个 top_score 类属性 -> 记录游戏的历史最高分
• 定义一个 player_name 实例属性 -> 记录当前游戏的玩家姓名
3. 方法:
• 静态方法 show_help() -> 显示游戏帮助信息
• 类方法 show_top_score() -> 显示历史最高分
• 实例方法 start_game() -> 开始当前玩家的游戏
- ① 使用随机数 生成 10-100 之间数字 作为本次游戏的得分
- ② 打印本次游戏等分 : 玩家 xxx 本次游戏得分 ooo
- ② 和历史最高分进行比较, 如果比历史最高分高, 修改历史最高分
4. 主程序步骤: main
1 查看帮助信息
2 查看历史最高分
3 创建游戏对象，开始游戏
4 再一次游戏
"""
import random


class Game:
    __top_score = 0  # 记录游戏的历史最高分

    def __init__(self, name):
        self.__player_name = name  # 记录当前游戏的玩家姓名


    @staticmethod
    def show_help():
        """
        显示游戏帮助信息
        :return: None
        """
        print("这是帮助信息...")


    @classmethod
    def show_top_score(cls):
        """
        显示历史最高分
        :return: None
        """
        print(f"历史最高分是：{cls.__top_score}")


    def start_game(self):
        """
        开始当前玩家的游戏
        :return:None
        """
        # 打印本次游戏等分: 玩家xxx 本次游戏得分ooo
        score = random.randint(10, 100)  # 本次游戏的得分
        print(f"玩家：{self.__player_name},本次游戏得分：{score}")

        # 和历史最高分进行比较, 如果比历史最高分高, 修改历史最高分
        if score > Game.__top_score:
            Game.__top_score = score

if __name__ == '__main__':
    # 1查看帮助信息
    Game.show_help()
    # 2查看历史最高分
    Game.show_top_score()
    # 3创建游戏对象，开始游戏
    game = Game("barry")
    for i in range(3):
        game.start_game()
        Game.show_top_score()